package com.yidu.ladder.system.service;

import java.util.List;

import com.yidu.ladder.system.domain.Resource;
import com.yidu.ladder.system.domain.ResourceVo;

/**
 * 资源业务逻辑接口
 * @author ld
 *
 */
public interface ResourceService {
	/**
	 * 添加资源
	 * @param resource
	 * @return
	 */
	public abstract boolean addResource(Resource resource);
	
	/**
	 * 删除资源
	 * @param resourceIds 资源Id，还可能是多个Id拼接成的字符串  Id1, Id2, Id3...
	 * @return 删除成功返回true，反之
	 */
	public abstract boolean removeResource(String[] resourceIds);
	
	/**
	 * 修改资源
	 * @param resource
	 * @return
	 */
	public abstract boolean updateResource(Resource resource);
	
	/**
	 * 冻结或还原资源
	 * @param resource
	 * @return
	 */
	//public abstract boolean frozenORrecoverResource(Resource resource);
	
	/**
	 * 查询资源带条见
	 * @param ResourceVo 资源包装类
	 * @return 资源集合
	 */
	public List<ResourceVo> findResourceSelective(ResourceVo ResourceVo);
	
	/**
	 * 查询所有子资源
	 * @param resourceId 资源ID
	 * @return 该资源的所有直接子资源集合，每个直接子资源对象里面还有其直接直接子资源
	 */
	public List<ResourceVo> queryAllChildResource(String resourceId);
}
